
import socket

# 1、创建udp连接
udp_so = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2、发送数据
udp_so.sendto("hello,world!".encode(), ("169.254.124.176", 8080))

# 3、接收数据
"""
    该函数作用：
        1、从套接字中接受1024缓存字节的数据
        2、未接收到数据时，程序阻塞
        3、接收到数据，程序自动解除阻塞，向下运行
    返回值为一个元组格式数据：
        1、接收到的二进制数据
        2、发送方的ip地址和端口(与sendto函数的第二个参数一致)
"""
recv_data = udp_so.recvfrom(1024)
print(recv_data)

# 4、解码数据，根据收到数据的编码格式进行解码
print(recv_data[0])
print(recv_data[1])
print(recv_data[0].decode("GBK"))

# 5、关闭连接
udp_so.close()
